package com.liang.exam.entity;


import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

//统一响应结果
@NoArgsConstructor
@AllArgsConstructor
@Data
public class Result<T> {
    private Integer code; // 业务状态码 0-成功 1-失败
    private String message; // 提示信息
    private T data; // 响应数据
    private String url; // 登录成功后的跳转URL

    // 快速返回操作成功响应结果(带响应数据)
    public static <E> Result<E> success(E data) {
        return new Result<>(0, "操作成功", data, null);
    }


    // 快速返回操作成功响应结果
    public static Result success() {
        return new Result(0, "操作成功", null, null);
    }

    // 快速返回带消息的操作成功响应结果
    public static Result success(String message) {
        return new Result(0, message, null, null);
    }

    // 登录成功返回
    public static Result success(String message, String data, String url) {
        return new Result(0, message, data, url);
    }

    // 快速返回操作失败的响应结果
    public static Result error(String message) {
        return new Result(1, message, null, null);
    }
    public Integer getCode() {
        return code;
    }
}
